/**
 * Notes: 任务基类
 * Ver : CCMiniCloud Framework 2.5.0 ALL RIGHTS RESERVED BY cclinux0730 (wechat)
 * Date: 2023-09-01 22:00:00 
 */

/**
 * 定时任务基类
 * 所有定时任务需要继承此类
 */
class BaseTask {
    /**
     * 构造函数
     * @param {string} name 任务名称
     */
    constructor(name) {
        // 任务名称
        this.name = name || '未命名任务';
        
        // 任务执行间隔(毫秒), 默认1小时
        this.interval = 60 * 60 * 1000;
        
        // 定时器ID
        this.intervalId = null;
    }
    
    /**
     * 执行任务
     * 子类必须实现此方法
     */
    async exec() {
        throw new Error(`${this.name} 任务未实现exec方法`);
    }
}

module.exports = BaseTask; 